use "/Users/jimgolby/Desktop/ZB - Confidence Book/Technical Appendix/Data Files/Wave 2.dta"

***Define Variables***
replace Q11 =. if Q11 == 98
generate Q11T =.
replace Q11T = 0 if Q11 > 2
replace Q11T = 1 if Q11 < 3
replace Q11T =. if Q11 ==.

label define Confidence 0 "Not Confident" 1 "Confident"
label values Q11T Confidence

generate Q11H =.
replace Q11H = 0 if Q11 > 1
replace Q11H = 1 if Q11 == 1

generate PID3 =.
replace PID3 = 1 if PARTYID < 4
replace PID3 = 2 if PARTYID == 4
replace PID3 = 3 if PARTYID > 4 & PARTYID < 8

label define PID3 1 "Dem" 2 "Ind" 3 "Rep"
label values PID3 PID3

gen DEM = 0 if PID3 < 4
replace DEM = 1 if PID3 == 1
gen REP = 0 if PID3 < 4
replace REP = 1 if PID3 == 3
gen IND = 0 if PID3 < 4
replace IND = 1 if PID3 == 2

replace IDEO =. if IDEO == 98

gen IDEO3 = .
replace IDEO3 = 1 if IDEO < 4
replace IDEO3 = 2 if IDEO == 4
replace IDEO3 = 3 if IDEO > 4 & IDEO < 8

gen IDEO3a = IDEO3
replace IDEO3a = 4 if IDEO == 8

gen LIB = 0
replace LIB = 1 if IDEO3 == 1
gen MOD = 0
replace MOD = 1 if IDEO3 == 2
gen CON = 0
replace CON = 1 if IDEO3 == 3

gen MALE = 0
replace MALE = 1 if GENDER == 1


gen VET = VETERAN if VETERAN < 98
replace VET = 0 if VETERAN == 2
replace VET = 0 if VETERAN2 == 1
replace VET = . if VETERAN2 == 98


gen ACTIVEDUTY = 0 if VETERAN < 98
replace ACTIVEDUTY = . if VETERAN2 == 98
replace ACTIVEDUTY = 1 if VETERAN2 == 1


generate FAMILY = 0 if Q39 < 77
replace FAMILY = 1 if Q39 == 1

gen SOCIAL = 0 if Q38 < 98
replace SOCIAL = 1 if Q38 == 1

generate religion = 0 if RELIG < 98
replace religion = 1 if RELIG == 1
replace religion = 1 if RELIG == 3
replace religion = 1 if RELIG == 4
replace religion = 1 if RELIG == 12
replace religion = 2 if RELIG == 2
replace religion = 3 if RELIG > 8 & RELIG < 12
label define RELIGION2 0 "Other" 1 "Christian" 2 "Catholic" 3 "None"
label values religion RELIGION2

generate christian = 0
replace christian = 1 if religion == 1
generate catholic = 0
replace catholic = 1 if religion == 2
generate norelig = 0
replace norelig = 1 if religion == 3

generate white = 0
replace white = 1 if RACE == 1
generate black = 0
replace black = 1 if RACE == 2
generate hispanic = 0
replace hispanic = 1 if RACE == 4
generate asian = 0
replace asian = 1 if RACE == 6

gen RACE2 = RACE if RACETHNICITY < 77

label define RACE 1 "White" 2 "Black" 4 "Hispanic" 6 "Asian"
label values RACE2 RACE

generate generation =.
replace generation = 1 if AGE > 73
replace generation = 2 if AGE > 54 & AGE < 74
replace generation = 3 if AGE > 38 & AGE < 55
replace generation = 4 if AGE > 22 & AGE < 39
replace generation = 5 if AGE < 23

generate silent = 0
replace silent = 1 if generation == 1
generate boomer = 0
replace boomer = 1 if generation == 2
generate genx = 0
replace genx = 1 if generation == 3
generate milen = 0
replace milen = 1 if generation == 4
generate genz = 0
replace genz = 1 if generation == 5

gen midwest = 0
replace midwest = 1 if REGION4 == 2
gen south = 0
replace south = 1 if REGION4 == 3
gen west = 0
replace west = 1 if REGION4 == 4

replace URBAN3 =. if URBAN3 < 1
generate city = 0
replace city = 1 if URBAN3 == 1
generate rural = 0
replace rural = 1 if URBAN3 == 3

generate unemployed = 0 if EMPLOY < 3  
replace unemployed = 1 if EMPLOY > 2
replace unemployed = 0 if EMPLOY == 5

generate INCOME5 =.
replace INCOME5 = 1 if INCOME < 5
replace INCOME5 = 2 if INCOME > 4 & INCOME < 9
replace INCOME5 = 3 if INCOME > 8 & INCOME < 12
replace INCOME5 = 4 if INCOME > 11 & INCOME < 15
replace INCOME5 = 5 if INCOME > 14

gen married =.
replace married = 1 if MARITAL == 1
replace married = 0 if MARITAL > 1

gen EDUC3 = . if EDUC5 > 5
replace EDUC3 = 1 if EDUC5 < 3
replace EDUC3 = 2 if EDUC5 == 3
replace EDUC3 = 2 if EDUC5 == 4
replace EDUC3 = 3 if EDUC5 == 5

replace Q14 =. if Q14 > 76
replace Q15 =. if Q15 > 76
replace Q16 =. if Q16 > 76

replace Q35 =. if Q35 == 98

generate Q14T = 0 if Q14 > 2
replace Q14T = 1 if Q14 < 3

generate Q15T = 0 if Q15 > 2
replace Q15T = 1 if Q15 < 3

generate Q16T = 0 if Q16 > 2
replace Q16T = 1 if Q16 < 3

gen d2 = 0
gen d3 = 0
gen d4 = 0
gen d5 = 0
gen d6 = 0
gen d7 = 0
gen d8 = 0

replace d2 = 1 if P_ASSIGN1 == 2
replace d3 = 1 if P_ASSIGN1 == 3
replace d4 = 1 if P_ASSIGN1 == 4
replace d5 = 1 if P_ASSIGN1 == 5
replace d6 = 1 if P_ASSIGN1 == 6
replace d7 = 1 if P_ASSIGN1 == 7
replace d8 = 1 if P_ASSIGN1 == 8

********************
*****Table 2.2*****
tab Q11H PARTYID [aweight=weight2] if P_ASSIGN1 == 1, column
tab Q11H PID3 [aweight=weight2] if P_ASSIGN1 == 1, column
tab Q11T PARTYID [aweight=weight2] if P_ASSIGN1 == 1, column
tab Q11T PID3 [aweight=weight2] if P_ASSIGN1 == 1, column

*****Table 2.3*****
tab Q11H IDEO [aweight=weight2] if P_ASSIGN1 == 1, column
tab Q11H IDEO3a [aweight=weight2] if P_ASSIGN1 == 1, column
tab Q11T IDEO [aweight=weight2] if P_ASSIGN1 == 1, column
tab Q11T IDEO3a [aweight=weight2] if P_ASSIGN1 == 1, column

*****Table 2.4*****
mean Q11H Q11T [pweight=weight2] if P_ASSIGN1 == 1, over(generation)  cformat(%9.2f)
mean Q11H Q11T [pweight=weight2] if P_ASSIGN1 == 1, over(GENDER)  cformat(%9.2f)
mean Q11H Q11T [pweight=weight2] if P_ASSIGN1 == 1 & VETERAN2 == 1, cformat(%9.2f)
mean Q11H Q11T [pweight=weight2] if P_ASSIGN1 == 1, over(VETERAN) cformat(%9.2f)
mean Q11H Q11T [pweight=weight2] if P_ASSIGN1 == 1 & FAMILY == 1, cformat(%9.2f)
mean Q11H Q11T [pweight=weight2] if P_ASSIGN1 == 1 & SOCIAL == 1, cformat(%9.2f)
mean Q11H Q11T [pweight=weight2] if P_ASSIGN1 == 1, over(RACE2) cformat(%9.2f)
mean Q11H Q11T [pweight=weight2] if P_ASSIGN1 == 1, over(EDUC3) cformat(%9.2f)
mean Q11H Q11T [pweight=weight2] if P_ASSIGN1 == 1, over(URBAN3) cformat(%9.2f)

*****Table 2.5*****
logit Q16T P_BRANCH DEM REP IDEO3 MALE ACTIVEDUTY VETERAN FAMILY SOCIAL catholic christian norelig white black hispanic asian EDUC5 boomer genx milen genz midwest south west city rural unemployed INCOME5 married d2 d3 d4 d5 d6 d7 d8 [pweight = weight2]

matrix table = r(table)
scalar tcrit1 = table[8,1]
display "Critical t = " tcrit1

predict yhat1
predict stdp1, stdp
generate lower1 = yhat1 - tcrit1*stdp1
generate upper1 = yhat1 + tcrit1*stdp1

margins, by(P_BRANCH) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(P_BRANCH PID3) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(P_BRANCH)
margins, by(P_BRANCH PID3)

*****Table 2.6*****
tab Q11T PID3 [aweight=weight2] if P_ASSIGN1 == 1, column
tab Q14T PID3 [aweight=weight2] if P_ASSIGN1 == 1, column
tab Q15T PID3 [aweight=weight2] if P_ASSIGN1 == 1, column


*****Table 2.7*****
tab Q35 PID3 [aweight=weight2], column
tab Q35 PID3 [aweight=weight2] if P_ASSIGN1 == 1, column

********************
*****Figure 2.9*****
logit Q11T DEM REP IDEO3 MALE ACTIVEDUTY VETERAN FAMILY SOCIAL catholic christian norelig white black hispanic asian EDUC5 boomer genx milen genz midwest south west city rural unemployed INCOME5 married d2 d3 d4 d5 d6 d7 d8 [pweight = weight2]

matrix table = r(table)
scalar tcrit = table[8,1]
display "Critical t = " tcrit

predict yhat
predict stdp, stdp
generate lower = yhat - tcrit*stdp
generate upper = yhat + tcrit*stdp

margins, by(PID3) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(IDEO3) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(GENDER) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(ACTIVEDUTY) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(VETERAN) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(FAMILY) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(SOCIAL) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(religion) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(RACE2) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(EDUC5) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(generation) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(REGION4) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(URBAN3) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(unemployed) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(INCOME5) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)
margins, by(married) at(d2=0 d3=0 d4=0 d5=0 d6=0 d7=0 d8=0)


*********************
*****Figure 2.10*****




*********************



